package fr.ants.model.ai.behaviour;

import fr.ants.model.Grid;

/** 
 * <p>Describes a behavior. A behavior is characterized by a way of "living".</p>
 *
 * @author Vianney DUPOY DE GUITARD
 */
public interface IBehavior<T> {

	/** 
	 * Find what to do, find a goal, advance to the next cycle.
	 * @param obj : the object "living".
	 * @param grid : the world grid.
	 */
	public void live(T obj, Grid grid);

	/** Reset the behavior to its initial state. */
	public void reset();
}